home *** CD-ROM | disk | FTP | other *** search
- unit IDESnooperU;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- AppEvnts, StdCtrls;
-
- type
- TActionTrappingForm = class(TForm)
- lstActions: TListBox;
- chkOn: TCheckBox;
- btnClear: TButton;
- btnProd: TButton;
- chkSkipHints: TCheckBox;
- btnTestShortcut: TButton;
- ApplicationEvents: TApplicationEvents;
- procedure FormClose(Sender: TObject; var Action: TCloseAction);
- procedure btnClearClick(Sender: TObject);
- procedure btnProdClick(Sender: TObject);
- procedure btnTestShortcutClick(Sender: TObject);
- procedure ApplicationEventsActionExecute(Action: TBasicAction;
- var Handled: Boolean);
- end;
-
- procedure Register;
-
- implementation
-
- {$R *.DFM}
-
- uses
- Menus, StdActns;
-
- var
- ActionTrappingForm: TActionTrappingForm;
-
- procedure TActionTrappingForm.FormClose(Sender: TObject; var Action: TCloseAction);
- begin
- Action := caNone
- end;
-
- procedure TActionTrappingForm.btnClearClick(Sender: TObject);
- begin
- lstActions.Items.Clear
- end;
-
- procedure TActionTrappingForm.btnProdClick(Sender: TObject);
- var
- Form: TCustomForm;
- begin
- //Locate the code editor
- Form := Application.FindComponent('EditWindow_0') as TCustomForm;
- if Assigned(Form) then
- begin
- //Bring it to the foreground
- Form.BringToFront;
- //Reproduce the keystroke
- Keybd_Event(0, $7F, 0, 0)
- end;
- end;
-
- procedure TActionTrappingForm.btnTestShortcutClick(Sender: TObject);
- var
- Form: TCustomForm;
- Msg: TWMKeyDown;
- begin
- Form := Application.FindComponent('EditWindow_0') as TCustomForm;
- if Assigned(Form) then
- begin
- Msg.CharCode := 0;
- Msg.KeyData := $7F0001;
- if Form.IsShortCut(Msg) then
- ShowMessage('Accepted by editor as a shortcut');
- end;
- end;
-
- procedure TActionTrappingForm.ApplicationEventsActionExecute(
- Action: TBasicAction; var Handled: Boolean);
- begin
- if chkOn.Checked then
- begin
- if (Action is THintAction) and chkSkipHints.Checked then
- Exit;
- lstActions.Items.Add(Format('%s: %s', [Action.Name, Action.ClassName]));
- lstActions.ItemIndex := lstActions.Items.Count - 1
- end
- end;
-
- procedure Register;
- begin
- ActionTrappingForm := TActionTrappingForm.Create(Application)
- end;
-
- initialization
- finalization
- ActionTrappingForm.Free
- end.
-